עזרה ב htaccess
או בכללי, לאפשר את כל התווים ללא יוצא מהכלל, כל תו שקיים לאפשר אותו.
או בכללי, אני חייב עזרה בניסוח של הביטוי:
כעיקרון אני רוצה שבקיצור יהיה
/Az9-_+all
סלאש, אחריו ביטוי ממספרים, אותיות גדולות וקטנות, מקו תחתון ומקו רגיל, ואחריו פלוס, אחרי הפלוס יבוא הכל.
כתבתי דבר כזה אבל זה פשוט לא עובד:
כעיקרון, ה id צריך להכיל ערך שדרכו אני שולף את הכל דרך api והערך הזה יש לו מגבלה והname זה סתם שם שיהיה בכתובת בשביל גוגל..... ובסוף חשוב לי הסיומת .htm
9 תשובות
קודם כול, אתה לא צריך להבריח קו תחתון ומקף.
בכל מקרה, היית צריך להבריח את הפלוס שבין שני הביטויים.
רק הערה קטנה, שיכול להיות שהיא לא מוצדקת במקרה הזה, אבל בהרבה מקרים כן. אז רק למקרה שלא ידעת:
באמת יכול להיות שה-ID יהיה רק תו אחד או אולי 1000 תווים? ויכול להיות שלא יהיה שם בכלל? או להפך, יהיה שם ארוך מאוד ומסורבל.
היי ותודה על התשובה.
אגיד לי בגדול, האתר משתמש במידע מיוטיוב (זה מין אינדקס כזה וזה בשביל הטריילר).
הקישור של הדף נראה ככה:
http://mysite.com/ID+NAME
האיידי הוא בעצם האיידי של הסרטון, והשם זה השם של הסרטון.
האיידי הוא מכיל ערכים קבועים שציינתי מעלה, והשם הוא חופשי, ז"א הוא מכיל את כל האותיות והמספרים והסימנים.
הבעיה היא שכאשר אני בא להציג סרטון שהשם שלו מכיל " אני מקבל שגיאה 403.
המטרה שלי היא לאפשר לשם להיות בלי מגבלה של משהו, שכל מידע שאקבל מיוטיוב (השם) יתקבל אצלי.
זאת השגיאה שמגיעה מתי שאני מנסה לגשת לסרטון שמכיל גרשיים בשם:
השם של הסרטון: סיימון DJ מוסיקה לאירועים ראשל"צ 052-3388600 -הבר מצווה של רוי
זה סתם משהו אקראי מיוטיוב.
פספסתי את הקטע על הגרשיים הכפולים.
זו לא בעיה ב-htaccess או בביטויים רגולריים. כתובות URL לא יכולות להכיל תווים מסוימים מטעמי בטיחות, והתקן דורש שאם הם נוכחים - עליהם להיות מקודדים. גרש כפול הוא אחד מהתווים האלה. לפירוט נוסף קרא את הקטע "Unsafe" בקישור שצירפתי.
אז בעצם אני פשוט צריך להחליף את התווים שמצויינים בקישור או שיש איזה פונקציה מובנת ב php שמסדרת את זה עבורי ?
הפונקציה המובנית rawurlencode מקודדת מחרוזת רגילה ל-URL.
משהו לא בסדר עם הקידוד של הכתובת שרואים בהודעת השגיאה. בטח שתהיה לך שגיאה אם יש בכתובת גרשיים כפולים (ועוד כמה תווים אסורים). אתה צריך לקודד את הכתובת של הקישור שהגשת לגולש לכתובת URL תקנית, וגם להשתמש בקידוד מתאים (UTF-8).
אני לא מבין מה לא בסדר עם הקידוד.
בתגית a לדוגמא אני פשוט כותב את הקישור עם rawurlencode וזהו...